home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / PInterfaces / ENET.p < prev    next >
Encoding:
Text File  |  1998-08-17  |  3.5 KB  |  127 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        ENET.p
  3.  
  4.      Contains:    Ethernet Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1990-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. }
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT ENET;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __ENET__}
  27. {$SETC __ENET__ := 1}
  28.  
  29. {$I+}
  30. {$SETC ENETIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33. {$IFC UNDEFINED __MACTYPES__}
  34. {$I MacTypes.p}
  35. {$ENDC}
  36. {$IFC UNDEFINED __OSUTILS__}
  37. {$I OSUtils.p}
  38. {$ENDC}
  39.  
  40.  
  41. {$PUSH}
  42. {$ALIGN MAC68K}
  43. {$LibExport+}
  44.  
  45.  
  46. CONST
  47.     ENetSetGeneral                = 253;                            { Set "general" mode }
  48.     ENetGetInfo                    = 252;                            { Get info }
  49.     ENetRdCancel                = 251;                            { Cancel read }
  50.     ENetRead                    = 250;                            { Read }
  51.     ENetWrite                    = 249;                            { Write }
  52.     ENetDetachPH                = 248;                            { Detach protocol handler }
  53.     ENetAttachPH                = 247;                            { Attach protocol handler }
  54.     ENetAddMulti                = 246;                            { Add a multicast address }
  55.     ENetDelMulti                = 245;                            { Delete a multicast address }
  56.  
  57.     EAddrRType                    = 'eadr';                        { Alternate address resource type }
  58.  
  59.  
  60. TYPE
  61.     EParamBlockPtr = ^EParamBlock;
  62.     EParamBlkPtr                        = ^EParamBlock;
  63. {$IFC TYPED_FUNCTION_POINTERS}
  64.     ENETCompletionProcPtr = PROCEDURE(thePBPtr: EParamBlkPtr);
  65. {$ELSEC}
  66.     ENETCompletionProcPtr = Register68kProcPtr;
  67. {$ENDC}
  68.  
  69.     ENETCompletionUPP = UniversalProcPtr;
  70.     EParamBlock = PACKED RECORD
  71.         qLink:                    QElemPtr;                                { General EParams }
  72.         qType:                    INTEGER;                                { queue type }
  73.         ioTrap:                    INTEGER;                                { routine trap }
  74.         ioCmdAddr:                Ptr;                                    { routine address }
  75.         ioCompletion:            ENETCompletionUPP;                        { completion routine }
  76.         ioResult:                OSErr;                                    { result code }
  77.         ioNamePtr:                StringPtr;                                { ->filename }
  78.         ioVRefNum:                INTEGER;                                { volume reference or drive number }
  79.         ioRefNum:                INTEGER;                                { driver reference number }
  80.         csCode:                    INTEGER;                                { Call command code }
  81.         CASE INTEGER OF
  82.         0: (
  83.             eProtType:            INTEGER;                                { Ethernet protocol type }
  84.             ePointer:            Ptr;                                    { No support for PowerPC code }
  85.             eBuffSize:            INTEGER;                                { buffer size }
  86.             eDataSize:            INTEGER;                                { number of bytes read }
  87.            );
  88.         1: (
  89.             eMultiAddr:            PACKED ARRAY [0..5] OF Byte;            { Multicast Address }
  90.            );
  91.     END;
  92.  
  93.  
  94. CONST
  95.     uppENETCompletionProcInfo = $00009802;
  96.  
  97. PROCEDURE CallENETCompletionProc(thePBPtr: EParamBlkPtr; userRoutine: ENETCompletionUPP);
  98.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  99.     {To be implemented:  Glue to move parameters into registers.}
  100.     {$ENDC}
  101.  
  102. FUNCTION NewENETCompletionProc(userRoutine: ENETCompletionProcPtr): ENETCompletionUPP;
  103.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  104.     INLINE $2E9F;
  105.     {$ENDC}
  106. FUNCTION EWrite(thePBptr: EParamBlkPtr; async: BOOLEAN): OSErr;
  107. FUNCTION EAttachPH(thePBptr: EParamBlkPtr; async: BOOLEAN): OSErr;
  108. FUNCTION EDetachPH(thePBptr: EParamBlkPtr; async: BOOLEAN): OSErr;
  109. FUNCTION ERead(thePBptr: EParamBlkPtr; async: BOOLEAN): OSErr;
  110. FUNCTION ERdCancel(thePBptr: EParamBlkPtr; async: BOOLEAN): OSErr;
  111. FUNCTION EGetInfo(thePBptr: EParamBlkPtr; async: BOOLEAN): OSErr;
  112. FUNCTION ESetGeneral(thePBptr: EParamBlkPtr; async: BOOLEAN): OSErr;
  113. FUNCTION EAddMulti(thePBptr: EParamBlkPtr; async: BOOLEAN): OSErr;
  114. FUNCTION EDelMulti(thePBptr: EParamBlkPtr; async: BOOLEAN): OSErr;
  115.  
  116.  
  117. {$ALIGN RESET}
  118. {$POP}
  119.  
  120. {$SETC UsingIncludes := ENETIncludes}
  121.  
  122. {$ENDC} {__ENET__}
  123.  
  124. {$IFC NOT UsingIncludes}
  125.  END.
  126. {$ENDC}
  127.